print (224*224*3*5)
752640
keras.layers.Conv2D(32, 3, (1,1), padding = 'same', activation='relu')
The dimension of the output image of a Convolution layer is calculated through the following formula:
$$\begin{align}({\lfloor{\frac{n+2p-f}{s}+1}\rfloor} \,\,\,\,\text{,}\,\,\,\, {\lfloor{\frac{n+2p-f}{s}+1}\rfloor})\end{align}$$where the input image is of shape ${(n,n)}$, filter/kernel is of shape ${(f,f)}$, padding is ${(p,p)}$ and stride is ${(s,s)}$.
The dimension of the output image of a Activation layer is same as the dimension of the input image.
The dimension of the output image of a MaxPooling layer is calculated through the following formula:
The resulting output, when using the "valid" padding option (i.e. no padding), has a spatial shape (number of rows or columns) of:
$$\begin{align}({\lfloor{\frac{n-f}{s}+1}\rfloor} \,\,\,\,\text{,}\,\,\,\, {\lfloor{\frac{n-f}{s}+1}\rfloor})\end{align}$$where the input image is of shape ${(n,n)}$, filter/kernel is of shape ${(f,f)}$, and stride is ${(s,s)}$.
The resulting output shape when using the "same" padding option is:
$$\begin{align}({\lfloor{\frac{n-1}{s}+1}\rfloor} \,\,\,\,\text{,}\,\,\,\, {\lfloor{\frac{n-1}{s}+1}\rfloor})\end{align}$$where the input image is of shape ${(n,n)}$, and stride is ${(s,s)}$. The bracket indicates floor operation.
The dimension of the output image of a Flatten layer is calculated through the following formula:
$$\begin{align}\text{output_shape} = n \times m \times d\end{align}$$where the input image is of shape ${(n,m,d)}$
The dimension of the output image of a Dense or Fully-connected layer is specified by is equal to the units specified in the Dense layer.